# 2）map()
# map() 函数对序列中元素逐一处理。
map_result = map(lambda x: x * x, [0, 1, 3, 7, 9])
print(list(map_result))  # [0, 1, 9, 49, 81]

# 3）filter()
# filter() 函数对序列中元素过滤。
filter_result = filter(lambda x: x >= 0, [-0, -1, -3, 7, 9])
print(list(filter_result))  # [0, 7, 9]

# 4）reduce()
# reduce() 函数对序列中元素进行累积。
from functools import reduce

reduce_result = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])
print(reduce_result)  # 120

# map() 函数对序列中元素逐一处理。
list1 = [0, 1, 2, 3, 5, -1]
print(list(map(lambda item: item * item, list1)))

# 3）filter()
# filter() 函数对序列中元素过滤。
list1 = [0, 1, 2, 3, 5, -1]
print(list(filter(lambda i: i > 0, list1)))

# 4）reduce()
# reduce() 函数对序列中元素进行累积。
list1 = [1, 2, 3, 4, 5]
print(reduce(lambda x, y: x * y, list1))
